#ifndef __list_H__
#define __list_H__

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define INSERT_FORWORD 1   //前插法
#define INSERT_END 2       //后插法

typedef void list_op(const void *);

struct node
{
	void * data;
	struct node * left;
	struct node * right;
};
typedef struct
{
	int size;
	struct node first;
}head;

head * list_create(int initsize);
int list_insert(head * ptr,const void * data,int choose);
void list_show(head * ptr,list_op *op);
void list_destory(head ** ptr);

#endif
